package com.atguigu.lease.web.admin.custom.converter;

import com.atguigu.lease.model.enums.ItemType;
import org.springframework.core.convert.converter.Converter;
import org.springframework.stereotype.Component;

/*
 * SpringMVC只能进行简单的类型转换，无法将 String类型转成枚举类型
 * 自定义指定类型转换器：
 *     String类型 转成 枚举类型(只能是 ItemType)
 */
@Component
public class StringToItemTypeConverter implements Converter<String, ItemType> {
    /*
     * 参数: source(原类型的数据)
     * 返回值: ItemType(目标类型的数据)
     */
    @Override
    public ItemType convert(String source) {
        for (ItemType value : ItemType.values()) {
            if(source.equals(String.valueOf(value.getCode()))) {
                return value;
            }
        }
        return null;
    }
}
